﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Cantam : System.Web.UI.Page
{
    protected void Page_PreRender(object sender, EventArgs e)
    {
        DilDegistir();
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Sessions.SiparisFiyati = null;
            if (Sessions.UyeId == -1)
                Response.Redirect(Page.GetRouteUrl("UyeGiris", new object { }));            
        }
    }

    protected void DilDegistir()
    {
        if (Cookies.Dil == "TR")
        {
            lblUrun.Text = "Ürün";
            lblSiparisAdedi.Text = "Sipariş Adedi";
            lblKampanya.Text = "Kampanya";
            lblBirimFiyat.Text = "Birim Fiyat";
            lblSil.Text = "Çıkar";
            lblToplamFiyat.Text = "Toplam Fiyat";

            lblAraToplamHeader.Text = "Ara Toplam";
            lblToplamTutarHeader.Text = "Toplam Tutar";
            lblTLToplamHeader.Text = "Toplam Tutar";
            btnSiparis.Text = "Sipariş Ver";
        }
        else
        {
            lblUrun.Text = "Product";
            lblSiparisAdedi.Text = "Order Quantity";
            lblKampanya.Text = "Campaign";
            lblBirimFiyat.Text = "Price";
            lblSil.Text = "Delete";
            lblToplamFiyat.Text = "Total Price";

            lblAraToplamHeader.Text = "Total Amount";
            lblToplamTutarHeader.Text = "Net Amount";
            lblTLToplamHeader.Text = "Net Amount";
            btnSiparis.Text = "Buy";
        }
    }

    protected void txtAdet_TextChanged(object sender, EventArgs e)
    {
        TextBox txtBox = (TextBox)sender;
        ListViewItem listItem = (ListViewItem)txtBox.BindingContainer;

        Label lblStok = (Label)listItem.FindControl("lblStokMiktari");
        Label lblUrun = (Label)listItem.FindControl("lblUrunId");

        int StokMiktari = lblStok.Text.ToIntZero();
        int SiparisAdedi = txtBox.Text.ToIntZero();
        int UrunId = int.Parse(lblUrun.Text);

        if (StokMiktari<SiparisAdedi)
        {
            SiparisAdedi = StokMiktari;
            //txtBox.Text = SiparisAdedi.ToString();
        }
        else if (SiparisAdedi<1)
        {
            SiparisAdedi = 1;
            //txtBox.Text = SiparisAdedi.ToString();
        }

        int SepetAdedi= DataAccess.UpdSiparisAdedi(UrunId, SiparisAdedi);
        Sessions.SepetAdedi = SepetAdedi;

        (this.Master as Skala).SepetAdediGuncelle(SepetAdedi);

        listCanta.DataBind();
        UpdatePanel1.Update();        
    }

    protected void btnSil_Click(object sender, EventArgs e)
    {
        //Button btnSil = (Button)sender;
        //ListViewItem listItem = (ListViewItem)btnSil.BindingContainer;

        //Label lblUrun = (Label)listItem.FindControl("lblUrunId");
        int UrunId = int.Parse(hidUrunId.Value);


        int SepetAdedi = DataAccess.CantadanCikar(UrunId);
        Sessions.SepetAdedi = SepetAdedi;

        (this.Master as Skala).SepetAdediGuncelle(SepetAdedi);

        listCanta.DataBind();
        UpdatePanel1.Update();
    }

    protected void listCanta_DataBound(object sender, EventArgs e)
    {
        DataView dv = (DataView)dsCantam.Select(DataSourceSelectArguments.Empty);
        DataTable dtCanta = dv.Table;

        if (dtCanta.Rows.Count > 0)
        {
            decimal toplamFiyat = 0;
            decimal toplamFiyatTL = 0;
            decimal.TryParse(dtCanta.Compute("SUM(ToplamFiyat)", "").ToString(), out toplamFiyat);
            decimal.TryParse(dtCanta.Compute("SUM(TLFiyat)", "").ToString(), out toplamFiyatTL);
            //decimal toplamFiyatTL = (decimal)dtCanta.Compute("SUM(TLFiyat)","");
            string ToplamAdet = dtCanta.Compute("SUM(Adet)", "").ToString();
            string ParaBirimi = dtCanta.Rows[0]["ParaBirimiGenel"].ToString();

            lblAraToplam.Text = lblToplam.Text = toplamFiyat.ToString() + " " + ParaBirimi;
            lblToplamTL.Text = toplamFiyatTL.ToString() + " TL";

            int SepetAdedi = Convert.ToInt16(ToplamAdet);
            Sessions.SepetAdedi = Convert.ToInt16(SepetAdedi);

            (this.Master as Skala).SepetAdediGuncelle(SepetAdedi);

            //lblGenelFiyat.Text = toplamFiyat.ToString();
            //lblToplamAdet.Text = ToplamAdet;
        }
        else
        {
            divCanta.Style.Add("display", "none");
            lblDurum.Text = "Çantanızda ürün bulunmamaktadır.";
        }
    }
    protected void btnHaberVer_Click(object sender, EventArgs e)
    {
        int UrunId = int.Parse(hidUrunId.Value);
        int UyeId = Sessions.UyeId;
        if (UyeId > 0)
        {
            bool EklendiMi = DataAccess.StokUyarisiEkle(UrunId, UyeId);
            if (EklendiMi)
            {
                string Kime = Sessions.EPosta;
                string Baslik = "Skala Bilgilendime";
                string Icerik = @"Seçtiğiniz ürün stoklara geldiğinde tarafınıza bilgilendirme maili gönderilecektir.";

                bool Aktivasyon = EPosta.EPostaGonder(Kime, Baslik, Icerik);

                listCanta.DataBind();
                UpdatePanel1.Update();
            }
        }
        else
            Response.Redirect(Page.GetRouteUrl("UyeGiris", new object { }));
    }

    protected void btnSiparis_Click(object sender, EventArgs e)
    {
        Response.Redirect(Page.GetRouteUrl("TeslimatAdresi", new {UrunId=-1 }));
    }
}